﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Security.Cryptography;
using System.Data.Common;

namespace MMSdal
{
    /// <summary>
    /// 管理员的数据库相关操作
    /// </summary>
    public class AdminService
    {

        static    DBHelper db = null;
        public AdminService()
        {
            db = new SqlServerDBHelper();
        }
        public static string EncryptWithMD5(string source)
        {
            byte[] sor = Encoding.UTF8.GetBytes(source);
            MD5 md5 = MD5.Create();
            byte[] result = md5.ComputeHash(sor);
            StringBuilder strbul = new StringBuilder(40);
            for (int i = 0; i < result.Length; i++)
            {
                strbul.Append(result[i].ToString("x2"));//加密结果"x2"结果为32位,"x3"结果为48位,"x4"结果为64位

            }
            return strbul.ToString().ToLower();
        }

        public AdminInfo Login(string name, string pass)
        {
            string sql = string.Format(@"select * from AdminInfo 
where AdminName='{0}' and AdminPass='{1}'", name, EncryptWithMD5(pass));
            Console.WriteLine(sql);

            AdminInfo admin = null;
            DbDataReader dr = db.GetReader(sql);
            if (dr.Read())//判断是否查询到数据
            {
                admin = new AdminInfo();
                admin.AdminId = Convert.ToInt32(dr["AdminId"]);
                admin.AdminName = dr["AdminName"].ToString();
                admin.AdminPass = dr["AdminPass"].ToString();
                admin.AdminRole = Convert.ToInt32(dr["AdminRole"]);
                admin.AdminStatus = Convert.ToInt32(dr["AdminStatus"]);
            }
            dr.Close();
            db.Close();

            return admin;
        }
    }
}
